This invention relates in general to computer software, and in particular to a method and system for describing a user interface in a manner that is independent of the physical capabilities of the device that is displaying the software application. More particularly, the present invention relates to a method and system by which users may interact with Hyper-Text Markup Language (HTML) documents from devices having limited capabilities.
World-Wide Web browsers are traditionally executed on desktop machines having sophisticated user input devices. For example, most desktop machines allow a user to interact with the browser using a keyboard and mouse. Accordingly, the Hyper-Text Markup Language (HTML) used to author most Web documents has evolved to support rich interactions between the user and the document content. For example, modem HTML documents may contain push buttons, text entry fields, check boxes, and other user interface widgets. To access these widgets, the user must have access to the input devices (keyboard and mouse) available on the desktop machines that typically render those documents.
However, this user interface model is inappropriate for Web browsers that execute on limited-capability devices such as cellular telephones, pagers, and palmtop computers (such as the WORKPAD, a trademark of IBM Corp.). These devices generally have neither a keyboard nor a mouse, and therefore, they cannot handle user interactions in the same way as a desktop machine. Instead, these small devices have their own set of unique user input controls, including numeric button keypads, electronic pens, and voice.
As an example, consider a cellular telephone that attempts to display an HTML page containing two buttons respectively labeled xe2x80x9cOKxe2x80x9d and xe2x80x9cCancel.xe2x80x9d The buttons might be displayed as small icons on the cellular phone display. However, the user has no way to directly interact with those HTML buttons because there is no mouse or other pointing device. Instead, the phone must allow the user to interact with the xe2x80x9cOKxe2x80x9d and xe2x80x9cCancelxe2x80x9d functions through the physical keypad on the phone""s handset. To do this, the phone must have enough information to associate the xe2x80x9cOKxe2x80x9d and xe2x80x9cCancelxe2x80x9d buttons in the HTML document with the most appropriate physical keys for the end-user. If the wrong physical keys are chosen by the phone, then the user will be faced with an unnatural interface experience.
To enable this functionality, various designers have defined new Web document languages that explicitly describe the purpose of each user interface element. One such language, the Wireless Markup Language (WML) produced by the Wireless Application Protocol (WAP) Forum, describes user interface events as abstract xe2x80x9cactionsxe2x80x9d that have a well-known purpose. The client device, upon receiving the WML document can interpret the purpose of each user interface event to determine which physical key to associate with that event.
However, the introduction of WML and other related markup languages introduces the need for Web content developers to maintain multiple independent versions of their content, one for desktop machines that can render HTML (with its assumptions of powerful input devices) and one for small devices that can render WML (with its assumptions of non-traditional input devices). Maintaining multiple versions of content represents a significant cost to content developers who must learn two independent markup languages, invest in multiple authoring tools, and ensure that both versions remain consistent with each other over time.
Therefore, a need exists for a method and system that allows content developers to author Web content that is both appropriate for a desktop machine having a mouse and a keyboard and for client devices having alternative user input hardware. This content should be capable of being received by the client browser and interpreted according to the local user input capabilities, whether they be a standard keyboard and mouse, numeric keypad, pen, or other input device.
An object of the present invention is to provide, within a networked environment, a method for authoring Web documents that may be delivered to client browsers on devices having heterogeneous user input capabilities.
Another object of the present invention is to enable client browsers to present Web documents to their users in a manner that is consistent with the locally available user input capabilities.
Yet another object of the present invention is to enable content developers to author only one version of their Web documents, though the document may be transformed or interpreted in a manner that is consistent with the requesting device""s user input capabilities.
To achieve the foregoing objects and in accordance with the purpose of the invention as broadly described herein, a method and system are disclosed for embedding inside an HTML document information about the purpose of specified user interface events. These and other features, aspects, and advantages of the present invention will become better understood with reference to the following description, appended claims, and accompanying drawings.